package entities.xml;

import java.util.ArrayList;
import java.util.List;

import com.thoughtworks.xstream.annotations.XStreamAlias;

import entities.ItemListaPrecios;
import entities.ListaPrecios;

@XStreamAlias("ListaPrecios")
public class ListaPreciosXML implements ExchangeFormatEntity{
	
	private final static String ALIAS = "ListaPrecios";
	
	@XStreamAlias("id")
	private Long id;
	@XStreamAlias("nombre")
	private String nombre;
	@XStreamAlias("items")
	List<ItemListaPreciosXML> items;
	
	public ListaPreciosXML(){
		this.items = new ArrayList<ItemListaPreciosXML>();
	}
	
	public ListaPreciosXML(Long id, String nombre,
			List<ItemListaPreciosXML> items) {
		super();
		this.id = id;
		this.nombre = nombre;
		this.items = items;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public List<ItemListaPreciosXML> getItems() {
		return items;
	}

	public void setItems(List<ItemListaPreciosXML> items) {
		this.items = items;
	}

	public static String getAlias() {
		return ALIAS;
	}

	@Override
	public ListaPrecios toModelEntity() {
		List<ItemListaPrecios> itemsListaPrecios = new ArrayList<ItemListaPrecios>();
		List<ItemListaPreciosXML> itemslistaPreciosXML = this.getItems();
		for(ItemListaPreciosXML itemListaPreciosXML : itemslistaPreciosXML){
			ItemListaPrecios itemListaPrecios = itemListaPreciosXML.toModelEntity();
			itemListaPrecios.setIdListaPrecios(Integer.parseInt(this.getId().toString()));
			itemsListaPrecios.add(itemListaPrecios);
		}
		ListaPrecios listaPrecios = new ListaPrecios();
		listaPrecios.setId(new Integer(this.getId().intValue()));
		listaPrecios.setItems(itemsListaPrecios);
		
		return listaPrecios;
	}

	@Override
	public void fromModelEntity(Object obj) {
		
	}
	
	
	
}
